/*****************************************************************************
*
*  PROJECT:     SlipStream
*               (CParticleEmitter - particle emitter)
*  LICENSE:     GNU General Public License v3 - http://www.gnu.org/licenses/gpl.html

*  DEVELOPERS:  Philip Farquharson	<B00137077@studentmail.uws.ac.uk>
*				John Gray			<B00145524@studentmail.uws.ac.uk>		
*				Zohaib Bhatti		<B00104280@studentmail.uws.ac.uk>
*				Euan Hislop			<B00138636@studentmail.uws.ac.uk>
*
*****************************************************************************/

#ifndef CPARTICLE_EMITTER
#define CPARTICLE_EMITTER

#include "CVector3.h"
#include "CParticle.h"
#include "CCamera.h"
#include <cassert>
#include <list>
using namespace std;

#define MAX_PARTICLES	500
#define MIN_PARTICLES	0

class CParticleEmitter
{
	private:
		CVector3 m_vecPosition;
		std::list<CParticle*> m_particles;

	public:
		CParticleEmitter( CVector3 vecPosition, CVector3 vecGravity, CVector3 vecDirectionSign, CColor col );
		~CParticleEmitter ( void );

		CVector3 GetPosition ( void )								{ return m_vecPosition; }
		void SetPosition ( CVector3 vecPosition )					{ m_vecPosition = vecPosition; }

		void Draw ( void );
		void Update ( void );
};
#endif